package com.example.springdemo;


import org.springframework.web.bind.annotation.*;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

@RestController
@RequestMapping("/wms/web")
public class ShipController {

    @CrossOrigin
    @PostMapping(value = "/cus_ship_list/get_task_list")
    public Object get_task_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_task_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "/cus_ship_list/get_cus_ship_list")
    public Object get_cus_ship_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_cus_ship_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @GetMapping(value = "/dic/bearer/bearerDeviceList")
    public Object bearerDeviceList() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("bearerDeviceList.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }


    @CrossOrigin
    @GetMapping(value = "/cus_ship_list/get_cus_ship_list_info/{id}")
    public Object get_cus_ship_list_info(@PathVariable String id) {
        // 指定资源路径（相对于classpath根目录）
        String fileName = "get_cus_ship_list_info.json";
        if ("CF25071101".equalsIgnoreCase(id) || "CF23111804".equalsIgnoreCase(id) || "CF23111801".equalsIgnoreCase(id)) {
            //海上
            fileName = "get_cus_ship_list_info.json";
        } else {
            //基地
            fileName = "get_cus_ship_list_info_jd0.json";
        }
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream(fileName)) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "/cus_ship_list/get_drop_down_list")
    public Object get_drop_down_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_drop_down_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "/getShipNameList")
    public Object getShipNameList() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("getShipNameList.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }


    @CrossOrigin
    @PostMapping(value = "/dic/stock/get_wh_list")
    public Object get_wh_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_wh_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "/dic/factory/query_list")
    public Object query_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("query_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 数据重新获取
     *
     * @return
     */
    @CrossOrigin
    @PostMapping(value = "dic/bearer/type/list")
    public Object bearerTypeList() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("bearerTypeList.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }


    @CrossOrigin
    @PostMapping(value = "cus_ship_list/get_task_and_platform_list_condition")
    public Object get_task_and_platform_list_condition() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_task_and_platform_list_condition.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "shipback_output/get_transport_list")
    public Object get_transport_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_transport_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @GetMapping(value = "shipback_output/get_transport_info/{id}")
    public Object get_transport_info_by_number(@PathVariable String id) {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_transport_info_by_number.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "shipback_output/save_or_update")
    public Object save_or_update() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("save_or_update_ship.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "task/shelf_un_load/save")
    public Object save_ship() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("save_ship.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "task/shelf_un_load/get_task_req_list")
    public Object get_task_req_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_task_req_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "mat/get_material_list")
    public Object get_material_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("get_material_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @PostMapping(value = "cus_ship_list/save_or_update_cus_ship_list")
    public Object save_or_update_cus_ship_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("save_or_update_cus_ship_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 承载具
     *
     * @return
     */
    @CrossOrigin
    @PostMapping(value = "dic/bearer/list")
    public Object dic_bearer_list() {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("dic_bearer_list.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @CrossOrigin
    @GetMapping(value = "syncSdpMaterial/{id}")
    public Object syncSdpMaterial(@PathVariable String id) {
        // 指定资源路径（相对于classpath根目录）
        try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream("syncSdpMaterial.json")) {
            if (inputStream == null) {
                return "File not found.";
            }
            // 将输入流转换为字符串
            return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}





